ДОСЛІДЖЕННЯ МЕТОДІВ КОМПРЕСІЇ АУДІОІНФОРМАЦІЇ В MATLAB

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
ЗІ
Кафедра:
ЗІ

Інформація про роботу

Рік:
2015
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Системи запису та відтворення інформації
Група:
ЗІ-32

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра ЗІ З В І Т до лабораторної роботи №2 з курсу: «Системи запису та відтворення інформації» на тему: «ДОСЛІДЖЕННЯ МЕТОДІВ КОМПРЕСІЇ АУДІОІНФОРМАЦІЇ В MATLAB» Варіант 1 Мета роботи: Набути вміння розробляти власні методи стиснення аудіоінформації та оцінювати їх ефективність. Завдання: Ознайомитись з теоретичним матеріалом. Завантажити wav-файл вказаний в завданні відповідно до свого варіанту. Вивести основну інформацію про файл: кількість вибірок, кількість каналів, частота дискретизації, кількість біт на вибірку. Прослухати аудіофайл. Оцінити степінь стиснення звукового файлу кодом Хафмена. Побудувати гістограму аудіофайлу. Написати кодер, на базі ДКП, який би компресував мовний сигнал з заданим степенем стиску. Написати декодер, який відтворює мовний сигнал. Прослухати декодований мовний сигнал та зробити висновки про якість відтвореного сигналу. Варіант  Назва файлу  Розмір блоку  Степінь стиску   1  Lab_1_1.wav  100  5   ТЕКСТ ПРОГРАМИ: clc [Y, F, B]=wavread('C:\Users\Andrey\Desktop\Lab_1_1.wav') figure(1); plot(Y);title('Input signal') sound(Y, F, B) Y = Y*128 n = length(Y) B,F figure(2);hist(Y, -128:127);title('Histograma') %block size N = 100 L = 38 Nopt = 0 %find probability P = hist(Y,-128:127)/n for ii = 1:256 if (P(ii)>0) Nopt = Nopt - P(ii)*log2(P(ii)); end; end; %block`s quantity nn = fix(n/N) mm=1 kk=1 %Compression for ii = 1:nn-1 x = dct(Y(kk:kk+N-1)); y(mm:mm+L-1) = x(1:L); mm=mm+L; kk=kk+N; end; figure(3);plot(y);title('Compressed signal') %quantization y = round(y); [A, X] = hist(y, min(y):max(y)); Na = length(y); Ls = 0; for ii=1:length(A) if(A(ii)>0) Ls = Ls + (A(ii)/Na)*log2(A(ii)/Na); end; end; disp('-Ls') -Ls d=ceil(log2(max(y)-min(y))) CR = d/(-Ls) CR2 = d/(-Ls)* N/L %restored signal YC = Y * 0; dx = Y(1:N) * 0; kk = 1; mm = 1 for ii = 1 : nn - 1 dx(1:L) = y(mm : mm + L - 1); x1 = idct( dx ); YC(kk : kk + N - 1) = x1 dx = dx * 0; mm = mm + L; kk = kk + N; end; YC = YC / 128; YC = round(YC * 128) / 128; figure(4);plot(YC);title('Restored signal') sound(YC, F, B); Результати виконання програми Графік вхідного сигналу / Гістограма / Стиснений сигнал / Відновлений сигнал / Степінь стиснення кодом Хафмена: CR= 1.9147 Степінь стиску CR2 = 5.0388 Висновок: виконуючи дану лабораторну роботу, я навчився розробляти власні методи стиснення аудіоінформації за допомогою алгоритмів стиснення аудіосигналів на основі ортогональних перетворень, а також оцінив їх ефективність, та ефективність алгоритмів стиснення без втрат, а саме коду Хафмена. В методах стиснення без втрат первинний сигнал можна відновити з точністю до біту, тоді як в методах компресії з втратами відновлений сигнал не повністю відповідає первинному, але містить основну частину інформації. В алгоритмах компресії аудіосигналів на основі ортогональних перетворень стиснення досягається за рахунок того, що кодуються тільки ті коефіцієнти,які переносять суттєву інформацію, решта відкидаються.
Антиботан аватар за замовчуванням

29.03.2016 08:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини